﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200025B RID: 603
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class ChessRogueMiracle : IMessage<ChessRogueMiracle>, IMessage, IEquatable<ChessRogueMiracle>, IDeepCloneable<ChessRogueMiracle>, IBufferMessage
	{
		// Token: 0x170007FE RID: 2046
		// (get) Token: 0x06001B43 RID: 6979 RVA: 0x0004EC35 File Offset: 0x0004CE35
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<ChessRogueMiracle> Parser
		{
			get
			{
				return ChessRogueMiracle._parser;
			}
		}

		// Token: 0x170007FF RID: 2047
		// (get) Token: 0x06001B44 RID: 6980 RVA: 0x0004EC3C File Offset: 0x0004CE3C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return ChessRogueMiracleReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000800 RID: 2048
		// (get) Token: 0x06001B45 RID: 6981 RVA: 0x0004EC4E File Offset: 0x0004CE4E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return ChessRogueMiracle.Descriptor;
			}
		}

		// Token: 0x06001B46 RID: 6982 RVA: 0x0004EC55 File Offset: 0x0004CE55
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChessRogueMiracle()
		{
		}

		// Token: 0x06001B47 RID: 6983 RVA: 0x0004EC68 File Offset: 0x0004CE68
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChessRogueMiracle(ChessRogueMiracle other) : this()
		{
			this.miracleList_ = other.miracleList_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06001B48 RID: 6984 RVA: 0x0004EC92 File Offset: 0x0004CE92
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChessRogueMiracle Clone()
		{
			return new ChessRogueMiracle(this);
		}

		// Token: 0x17000801 RID: 2049
		// (get) Token: 0x06001B49 RID: 6985 RVA: 0x0004EC9A File Offset: 0x0004CE9A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<GameRogueMiracle> MiracleList
		{
			get
			{
				return this.miracleList_;
			}
		}

		// Token: 0x06001B4A RID: 6986 RVA: 0x0004ECA2 File Offset: 0x0004CEA2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as ChessRogueMiracle);
		}

		// Token: 0x06001B4B RID: 6987 RVA: 0x0004ECB0 File Offset: 0x0004CEB0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(ChessRogueMiracle other)
		{
			return other != null && (other == this || (this.miracleList_.Equals(other.miracleList_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06001B4C RID: 6988 RVA: 0x0004ECE4 File Offset: 0x0004CEE4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.miracleList_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06001B4D RID: 6989 RVA: 0x0004ED18 File Offset: 0x0004CF18
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06001B4E RID: 6990 RVA: 0x0004ED20 File Offset: 0x0004CF20
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06001B4F RID: 6991 RVA: 0x0004ED29 File Offset: 0x0004CF29
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			this.miracleList_.WriteTo(ref output, ChessRogueMiracle._repeated_miracleList_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06001B50 RID: 6992 RVA: 0x0004ED50 File Offset: 0x0004CF50
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.miracleList_.CalculateSize(ChessRogueMiracle._repeated_miracleList_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06001B51 RID: 6993 RVA: 0x0004ED89 File Offset: 0x0004CF89
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(ChessRogueMiracle other)
		{
			if (other == null)
			{
				return;
			}
			this.miracleList_.Add(other.miracleList_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06001B52 RID: 6994 RVA: 0x0004EDB7 File Offset: 0x0004CFB7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06001B53 RID: 6995 RVA: 0x0004EDC0 File Offset: 0x0004CFC0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 50U)
				{
					this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
				}
				else
				{
					this.miracleList_.AddEntriesFrom(ref input, ChessRogueMiracle._repeated_miracleList_codec);
				}
			}
		}

		// Token: 0x04000B6F RID: 2927
		private static readonly MessageParser<ChessRogueMiracle> _parser = new MessageParser<ChessRogueMiracle>(() => new ChessRogueMiracle());

		// Token: 0x04000B70 RID: 2928
		private UnknownFieldSet _unknownFields;

		// Token: 0x04000B71 RID: 2929
		public const int MiracleListFieldNumber = 6;

		// Token: 0x04000B72 RID: 2930
		private static readonly FieldCodec<GameRogueMiracle> _repeated_miracleList_codec = FieldCodec.ForMessage<GameRogueMiracle>(50U, GameRogueMiracle.Parser);

		// Token: 0x04000B73 RID: 2931
		private readonly RepeatedField<GameRogueMiracle> miracleList_ = new RepeatedField<GameRogueMiracle>();
	}
}
